package com.yupi.yuaicodemother.ai.rag;

/**
 * ETL 处理过程中出现的异常基类，便于全局拦截与告警。
 */
public class EtlProcessingException extends RuntimeException {

    public EtlProcessingException(String message) {
        super(message);
    }

    public EtlProcessingException(String message, Throwable cause) {
        super(message, cause);
    }
}

/**
 * 文件不存在异常
 */
class FileNotFoundException extends EtlProcessingException {
    public FileNotFoundException(String message) {
        super(message);
    }

    public FileNotFoundException(String message, Throwable cause) {
        super(message, cause);
    }
}

/**
 * 文档解析异常
 */
class DocumentParseException extends EtlProcessingException {
    public DocumentParseException(String message) {
        super(message);
    }

    public DocumentParseException(String message, Throwable cause) {
        super(message, cause);
    }
}

/**
 * 向量生成异常
 */
class EmbeddingGenerationException extends EtlProcessingException {
    public EmbeddingGenerationException(String message) {
        super(message);
    }

    public EmbeddingGenerationException(String message, Throwable cause) {
        super(message, cause);
    }
}

/**
 * IO 异常
 */
class EtlIOException extends EtlProcessingException {
    public EtlIOException(String message) {
        super(message);
    }

    public EtlIOException(String message, Throwable cause) {
        super(message, cause);
    }
}

/**
 * 意外异常
 */
class EtlUnexpectedException extends EtlProcessingException {
    public EtlUnexpectedException(String message) {
        super(message);
    }

    public EtlUnexpectedException(String message, Throwable cause) {
        super(message, cause);
    }
}